Pairing and attestation of proximal devices

ABSTRACT

A host device to pair with a modular device includes an environmental data collection system to provide motion data, and a data analysis circuit to filter the motion data to provide motion information. The data analysis circuit further to detect anomalies in the motion data to provide anomaly data. The host device further including a pairing system to determine whether the host device is proximate to the modulate device based on a comparison of the motion information with received motion information from the modular device. The pairing circuit is further to pair with the modular device responsive to a match between a key and a received key from the modular device. The host device further including a key generator to generate the key based on a comparison between the anomaly data and received anomaly data from the modular device responsive to a determination that the modular device is proximate.

BACKGROUND

As wearable systems become more popular, wearable devices may include acapability to allow users to “plug in” “modules” to extendfunctionality. Modules may include designs or things that allow a userto plug in additional computing systems as they wish. For example, acompute module may include functionality for GPS, temperature, radio(e.g., AM/FM), projection (e.g., pico or LCD), etc.

BRIEF DESCRIPTION OF THE DRAWINGS

In the drawings, which are not necessarily drawn to scale, like numeralsmay describe similar components in different views. Like numerals havingdifferent letter suffixes may represent different instances of similarcomponents. The drawings illustrate generally, by way of example, butnot by way of limitation, various embodiments discussed in the presentdocument.

FIG. 1 illustrates a wearable system to pair a host device with amodular device using environmental data in accordance with someembodiments.

FIG. 2 illustrates a wearable system to pair a host device with amodular device using environmental data in accordance with someembodiments.

FIG. 3 illustrates a flow diagram of a method to initiate pairing of ahost device and a modular device based on motion data in accordance withsome embodiments.

FIG. 4 illustrates a flow diagram of a method to initiate pairing of twodevices based on collected environmental data in accordance with someembodiments.

FIG. 5 illustrates a flow diagram of a method to determine whether togenerate a key based on comparison of motion data with another deviceprior to pairing of two devices based on collected environmental data inaccordance with some embodiments.

FIG. 6 illustrates a block diagram illustrating a machine in the exampleform of a computer system in accordance with some embodiments.

DETAILED DESCRIPTION

Certain details are set forth below to provide a sufficientunderstanding of embodiments of the disclosure. However, it will beclear to one skilled in the art that embodiments of the disclosure maybe practiced without various aspects of these particular details. Insome instances, well-known circuits, control signals, timing protocols,computer system components, and software operations have not been shownin detail in order to avoid unnecessarily obscuring the describedembodiments of the disclosure.

Examples of wearable systems described herein may enable pairing andattestation of proximal modular compute devices. Host devices thatinclude the capability to plug-in modular compute devices to extendfunctionality often have to balance between providing protections toensure security of connection to the host and modular compute device andease-of-use. In some examples, piconet (e.g., Bluetooth) compute devicesmay have two trust levels available: (1) open to all and (2) explicitlytrusted by user action. Additionally, an alternate method may bedeveloped that allows for a trusted connection without user interaction.For example, a method to trust two or more compute devices withoutinteraction from the user to facilitate pairing using environmentaldata, such as movement, location, temperature, light, sound, humidity,or combinations thereof. Thus, the method may include bothalgorithmic-based designs and standards based designs. In summary: 1)allow for compute modules to be added to wearable networks, 2) allow forcompute modules to extend functionality through small computers thatserve a special purpose such as GPS, AM/FM radio, temperature sensing,software functionality, or combinations thereof.

FIG. 1 illustrates a wearable system (system) 100 to pair a host devicewith a modular device using environmental data according to anembodiment of the disclosure. The system 100 may facilitate pairing of adevice A 104 (e.g., host device) to a device B 106 (e.g., modulardevice) using environmental factors to determine proximity. The device A104 may include a communications module, a smart phone, a smart watch, acomputing device, or any other wearable or portable device capable ofcommunicating with another device wirelessly. The device B 106 mayinclude a module, a communications device, a smart phone, a smart watch,a computing device, or any other wearable or portable device capable ofcommunicating with another device wirelessly.

The device A 104 may include an environmental data collection system110, a data analysis system 120, a pairing system 130, and a keygenerator 140. The environmental data collection system 110 may includemodules, sensors, circuits, or combinations thereof that senseenvironmental data associated with environmental conditions, such asmotion, temperature, location, light, humidity, or other environmentalconditions. The environmental data collection system 110 may provide thesensed environmental data (e.g., temperature, motion, audio, light,humidity, location, etc.) to the data analysis system 120 and/or thepairing system 130. The data analysis system 120 may process the sensedenvironmental data to provide environmental information for use by thekey generator 140 and by the pairing system 130. In some examples, thedata analysis system 120 may include circuits, modules, or devices thatfilter motion data to remove anomalies from the environmental data or toisolate anomalies in the environmental data.

The pairing system 130 may include a transceiver that wirelesslycommunicates with the device B 106. The wireless communication mayinclude near-field communication (NFC), a piconet (e.g., Bluetooth), ora network (e.g., local area networks (LANs), or cellular networks.Communication over the network may use any communication protocol,including, but not limited to, ISO/IEC temperature sensor 21481/ECMA-352or other NFC standard, Bluetooth, TCP/IP, UDP, and IEEE 802.11,Long-Term Evolution (LTE) or LTE advanced wireless communication, or anyother cellular/wireless communication standard. The pairing system 130may include modules, software, or circuitry configured to communicateand pair with the device B 106 based on the processed data from the dataanalysis system 120 and on sensed data received from the device B 106.As part of the pairing process, the pairing system 130 may receive theenvironmental information and keys (e.g., pins) from the device B 106.

The key generator 140 may include a module, device, or circuitconfigured to receive processed data from the data analysis system 120,and to generate a key (e.g., pin) based on the processed data. In someexamples the processed key may be generated based on anomaly dataprovided by the data analysis system 120.

The device B 106 may include an environmental data collection system150, a data analysis system 160, a pairing system 170, and a keygenerator 180. The environmental data collection system 150 may includemodules, sensors, circuits, or combinations thereof that senseenvironmental data associated with environmental conditions, such asmotion, temperature, location, light, humidity, or other environmentalconditions. The environmental data collection system 150 may provide thesensed environmental data (e.g., temperature, motion, audio, light,humidity, location, etc.) to the data analysis system 160 and/or thepairing system 170. The data analysis system 160 may process the senseddata to provide environmental information for use by the key generator180 and by the pairing system 170. In some examples, the data analysissystem 160 may include circuits, modules, or devices that filter motiondata to remove anomalies from the environmental data or to isolateanomalies in the environmental data.

The pairing system 170 may include a transceiver that wirelesslycommunicates with the device B 106. The wireless communication mayinclude near-field communication (NFC), a piconet (e.g., Bluetooth), ora network (e.g., local area networks (LANs), or cellular networks.Communication over the network may use any communication protocol,including, but not limited to, ISO/IEC temperature sensor 21481/ECMA-352or other NFC standard Bluetooth, TCP/IP, UDP, and IEEE 802.11, Long-TermEvolution (LTE) or LTE advanced wireless communication, or any othercellular/wireless communication standard. The pairing system 170 mayinclude modules, software, or circuitry configured to communicate andpair with the device B 106 based on the processed data from the dataanalysis system 160 and on sensed data received from the device B 106.As part of the pairing process, the pairing system 170 may receiveprocessed data and keys (e.g., pins) from the device B 106.

The key generator 180 may include a module, device, or circuit toreceive processed data from the data analysis system 160, and togenerate a key (e.g., pin) based on the processed data. In some examplesthe processed key may be generated based on anomaly data provided by thedata analysis system 160.

In operation, the device A 104 and the device B 106 may be paired toextend functionality of one or both of the device A 104 and the device B106. That is, the device A 104 and/or the device B 106, once paired, mayleverage capabilities of each other to extend capabilities of the deviceA 104 and/or the device B 106 existing functionality. For example, thedevice B 106 may be a GPS module that is capable of adding GPSfunctionality to the device A 104. A pairing process between the deviceA 104 and the device B 106 may be initiated without input from a user,in some examples. When the device A 104 and the device B 106 areproximate to one another, one or both of the device A 104 and device B106 may initiate a pairing process. Because pairing two devices may posea security risk to one device or the other, the pairing process betweenthe device A 104 and the device B 106 may include use of environmentaldata to determine whether the devices are proximate to and interact witheach other in such a way that indicates pairing the devices is safe. Forexample, proximity may be indicated when the temperature or humidity isthe same, when the location proximate, when NFC is accessible, whenindividual motion of the device A 104 and device B 106 indicates somelevel of coordination, or combinations thereof.

The pairing system 130 of the device A 104 may communicate with thepairing system 170 of the device B 106 to initiate a pairing process.The pairing system 130 and the pairing system 170 may each includetransceivers capable of providing and receiving data wirelessly.Responsive to initiation of the pairing process, the environmental datacollection system 110 and the environmental data collection system 150of the device A 104 and the device B 106, respectively, may collectand/or retrieve respective environmental data. The collected/retrievedenvironmental data may include temperature data, humidity data, motiondata, location data, or combinations thereof. The pairing system 130 andthe pairing system 170 may also attempt to communicate using NFC, whichmay be used as a factor to indicate proximity.

The data analysis system 120 and the data analysis system 160 mayrespectively extract environmental information and respectively anomalyinformation from the data. The pairing system 130 may provide theenvironmental information from the data analysis system 120 of thedevice A 104 to the pairing system 170, and the pairing system 170 mayprovide environmental information from the data analysis system 160 ofthe device B 106 to the pairing system 130. Responsive to the pairingsystem 130 detecting that the device B 106 is proximate to the device A104 based on a comparison between the environmental information from thedata analysis system 120 and the received environmental information, thepairing system 130 may send the respective anomaly information to thedevice B 106. Responsive to the pairing system 170 detecting that thedevice A 104 is proximate to the device B 106 based on a comparisonbetween the environmental information from the data analysis system 160and the received environmental information, the pairing system 170 maysend the respective anomaly information to the device A 104. In anotherexample, only the device A 104 may compare the data to determine aproximity indication, and if proximity is determined, may provide therespective anomaly information from the data analysis system 120 and mayrequest the anomaly information from the device B 106.

Generally, the environmental data may be generated by applying asmoothing function to environmental information from each of the deviceA 104 and the device B 106 to remove outlier (e.g., anomaly) data. Thisgenerates two templates (e.g., a reference template and a comparingtemplate. Application of the smoothing function may improve correlationwhen comparing the reference template and the comparison template datafrom the two independent sensors, and thus may improve matching betweenthe data sets.

The goal of harvesting the anomaly data is to identify randomlyoccurring exceptions that fall outside of the smoothing function'scorrective behavior relative to what is found in the reference template.For example, the anomaly data may include outlier data that exceeds acertain magnitude threshold. For use in key generation, the anomaly datamay be in the form of a binary number that includes all samples of theenvironmental information exceeding a defined threshold tagged with afirst value (e.g., a logical “1” value), and all other samples taggedwith a second value (e.g., a logical “0” value). This may create abinary map that can be compared between the two data sets withoutrequiring that the raw environmental information values match exactly.The harvested anomaly data may be used to generate a key that isspecific to a particular pairing process. It would not be likely thatthe same set of anomalies would appear in a subsequent pairing process.

The comparison of the environmental data may be looking for a match insome examples. In other examples, the comparison may be based on ananticipated or possible relationship between the device A 104 and thedevice B 106. For example, when using motion data, if the device A 104is a watch on one arm of a user and the device B 106 is a bracelet onthe other arm of the user, the motion data may be reciprocal data in onedirection as the user is walking.

The key generator 140 may generate a first key based on the anomalyinformation from the data analysis system 120 and the received anomalyinformation from the device B 106, and the key generator 180 maygenerate a second key based on the anomaly information from the dataanalysis system 160 and the received anomaly information from the deviceA 104. The pairing system 170 may provide the second key to the device A104. The pairing system 130 may compare the first key to the second keyto determine whether the device A 104 and the device B 106 are safe forpairing and sharing of information. The comparison may detect a completematch, or may detect a match that exceeds a threshold percentage. Thepairing process may use both the environmental information and theanomaly information because, while a comparison of the environmentalinformation may indicate proximity, this type of data may easily bereplicated. The anomaly data may provide an additional level of securitythat relies on anomalies in collected environmental data occurringsimilarly to two proximate devices.

In a specific example, the pairing system 130 and the pairing system 170may have one or more accelerometers or gyroscopes that are capable ofdetecting respective motion data for the device A 104 and the device B106, respectively. The detected motion data may be provided to the dataanalysis system 120 and the data analysis system 160, respectively. Thedata analysis system 120 may extract first motion information (e.g.,information that indicates the nature of the motion) and first anomalyinformation (e.g., spurious information not generally associated withthe nature of the motion). The data analysis system 160 may extractsecond motion information and second anomaly information. The pairingsystem 130 may provide the first motion information to the device B 106and the pairing system 170 may provide the second motion information tothe device A 104. The pairing system 130 may compare the first motioninformation to the second motion information to determine whether thedevice A 104 is proximate to the device B 106. Likewise, the pairingsystem 170 may compare the first motion information to the second motioninformation to determine whether the device B 106 is proximate to thedevice A 104. Proximity may be determined based on similar motion (e.g.,two devices connected to the same arm of a wearer walking), reciprocalmotion (e.g., one device on each arm of a wearer walking), or othermotions that indicates proximity (e.g., handshake, high five, etc.).Responsive to the pairing system 130 detecting that the device B 106 isproximate to the device A 104, the pairing system 130 may send therespective first anomaly information to the device B 106. Responsive tothe pairing system 170 detecting that the device A 104 is proximate tothe device B 106, the pairing system 170 may send the second anomalyinformation to the device A 104. In another example, only the device A104 may compare the motion information to determine a proximityindication, and if proximity is determined, may provide the respectiveanomaly information from the data analysis system 120 and may requestthe anomaly information from the device B 106. The anomaly informationmay be compared by each of the key generator 140 and key generator 180to generate keys, which may be exchanged to being a pairing process anddetermine if communication between the devices is safe.

Examples of the device A 104 and the device B 106 may include a watch(or ring) with different, separate, computing components, a purse andbracelet, a watch and a smartphone, a bracelet and a watch, a full bodyhazmat suit with attached computing devices. Using the environmentaldata to determine proximity without input from user may provide a moresecure system that opens pairing and may have greater ease-of-use ascompared with a system that requires user input (e.g., a secret code).

FIG. 2 illustrates a wearable system (system) 200 including a device 204according to an embodiment of the disclosure. The device 204 mayfacilitate pairing to another computing device (not shown) usingenvironmental factors to determine proximity. The device 204 may includea communications module, a smart phone, a smart watch, a computingdevice, or any other wearable or portable device capable ofcommunicating with another device wirelessly. In some examples, thedevice 204 may be implemented in the device A 104 of FIG. 1, the deviceB 106 of FIG. 1, or combinations thereof.

The device 204 may include an environmental data collection system 210,a data analysis system 220, a pairing system 230, and a key generator240. The environmental data collection system 210 may include modules,sensors, circuits, or combinations thereof that sense environmental dataassociated with environmental conditions, such as an accelerometer 212,a temperature sensor 214, a GPS receiver 216, an audio input sensor 218,or other input sensors 219. The environmental data collection system 210may provide the sensed environmental data (e.g., temperature, motion,audio, light, humidity, location, etc.) to the data analysis system 220and/or the pairing system 230. The data analysis system 220 may processthe sensed environmental data to provide environmental information foruse by the key generator 240 and by the pairing system 230. In aspecific example, the data analysis system 220 may include a motion datafilter 222 and a motion data anomaly detector 224. The motion datafilter 222 may filter motion data received from the accelerometer 212 toremove anomalies from the information and provide motion information.The motion data anomaly detector 224 may detect anomalies in the motiondata to provide anomaly information. The motion information and theanomaly information may be used in a pairing process with anothercomputing device. In some examples, the motion data filter 222 and themotion data anomaly detector 224 may include circuits, modules, ordevices that filter the motion data to remove anomalies from the motiondata or to isolate anomalies in the motion data, respectively.

The pairing system 230 may facilitate a paring process with anothercomputing device based on environmental data comparisons. The pairingsystem 230 may include a key comparison module 232, a proximitydetermination system 234, and a communication system 236. Thecommunication system 236 may include a transceiver that wirelesslycommunicates with other computing devices. The wireless communicationmay include near-field communication (NFC), a piconet (e.g., Bluetooth),or a network (e.g., local area networks (LANs), or cellular networks.Communication over the network may use any communication protocol,including, but not limited to, ISO/IEC temperature sensor 21481/ECMA-352or other NFC standard Bluetooth, TCP/IP, UDP, and IEEE 802.11, Long-TermEvolution (LTE) or LTE advanced wireless communication, or any othercellular/wireless communication standard. The communication system 236may include modules, software, or circuitry configured to communicateand pair with the other computing device based on the processed datafrom the data analysis system 220 and on sensed data received from theother computing device. The key comparison module 232 may includecircuits, modules, or devices that compare a key generated by the keygenerator 240 with a key received from another computing device. Theproximity determination system 234 may include circuits, modules, ordevices that determine proximity based on a comparison of environmentalinformation received from the data analysis system 220 withenvironmental information received from another computing device. Aspart of the pairing process, the pairing system 230 may receiveprocessed data and keys from the 206. In some examples, thefunctionality of the key comparison module 232 and the proximitydetermination system 234 may be performed by the other computing device.

The key generator 240 may include a module, device, or circuitconfigured to receive processed data from the data analysis system 220,and to generate a key (e.g., pin) based on the processed data. In someexamples, the processed key may be generated based on anomaly dataprovided by the data analysis system 220.

In operation, the device 204 may pair with the other computing device toextend functionality of one or both of the device 204. That is, oncepaired, the device 204 may leverage capabilities of the other computingdevice to extend capabilities of the existing functionality of thedevice 204. For example, the other computing device may be a GPS modulethat is capable of adding GPS functionality to the device 204. A pairingprocess between the device 204 and the other computing device may beinitiated without input from a user, in some examples. When the device204 is proximate to the other computing device, the device 204 mayinitiate a pairing process. Because pairing two devices may pose asecurity risk to one device or the other, the pairing process mayinclude use of environmental data to determine whether the devices areproximate to and interact with each other in such a way that indicatespairing the devices is safe. For example, proximity may be indicatedwhen the temperature or humidity is the same, when the locationproximate, when NFC is accessible, when individual motion informationindicates some level of coordination, or combinations thereof.

The environmental data collection system 210 may sense environmentaldata that is used to determine proximity. The accelerometer 212 maydetect motion data, the temperature sensor 214 may detect temperatureand/or humidity data, the GPS receiver 216 may detect location data, theaudio input sensor 218 may detect audio data. The environmental datacollection system 210 may include the other input sensors 219 thatcollects other environmental data.

The data analysis system 220 may receive the environmental data forprocessing to retrieve environmental information. The environmentalinformation may be provided to the pairing system 230 for use indetermining proximity to the other device. In a specific example, themotion data filter 222 may filter motion data received from theaccelerometer 212 to remove anomalies from the information and providemotion information, and the motion data anomaly detector 224 may detectanomalies in the motion data to provide anomaly information.

The communication system 236 may communicate with the other computingdevice to initiate a pairing process. The communication system 236 mayinclude a transceiver capable of providing and receiving datawirelessly. As part of the pairing process, the communication system 236may provide environmental information from the data analysis system 220to the other computing device, and may receive environmental informationfrom the other computing device. The communication system 236 may alsoattempt to communicate using NFC, which may be used as a factor toindicate proximity.

The proximity determination system 234 may determine proximity based ona comparison between the environmental information from the dataanalysis system 220 and environmental information from the othercomputing device. For example, the proximity determination system 234may compare motion information from the motion data filter 222 withmotion information from the other computing device. Responsive to theproximity determination system 234 detecting proximity to the othercomputing device, the communication system 236 may send the anomalyinformation to the other computing device. The communication system 236may also receive anomaly information from the other computing device.The comparison of the environmental information may be looking for amatch in some examples. In other examples, the comparison may be basedon an anticipated or possible relationship between the device 204 andthe other computing device. For example, when using motion information,if the device 204 may be a watch on one arm of a user and the othercomputing device may be a bracelet on the other arm of the user, themotion information may be reciprocal motion data in one direction as theuser is walking. Thus, proximity may be determined based on similarmotion (e.g., two devices connected to the same arm of a wearerwalking), reciprocal motion (e.g., one device on each arm of a wearerwalking), or other motions that indicates proximity (e.g., handshake,high five, etc.).

The key generator 240 may generate a first key based on the anomalyinformation from the motion data anomaly detector 224 and the receivedanomaly information from the other computing device. The communicationsystem 236 may receive a second key from the other computing device. Thekey comparison module 232 may compare the first key to the second key todetermine whether the device 204 and the other computing device are safefor pairing and sharing of information. The comparison may detect acomplete match, or may detect a match that exceeds a thresholdpercentage. The pairing process may use both the environmentalinformation and the anomaly information because, while a comparison ofthe environmental information may indicate proximity, this type of datamay easily be replicated. The anomaly data may provide an additionallevel of security that relies on anomalies in collected environmentaldata occurring similarly to two proximate devices.

Examples of the device 204 may include a watch (or ring) with different,separate, computing components, a purse and bracelet, a watch and asmartphone, a bracelet and a watch, a full body hazmat suit withattached computing devices. Using the environmental data to determineproximity without input from user may provide a more secure system thatopen pairing and may have greater ease-of-use as compared with a systemthat requires user input (e.g., a secret code).

FIG. 3 illustrates a flow diagram of a method 300 to initiate pairing ofa host device and a modular device based on motion data in accordancewith some embodiments. The method 300 may be implemented in the device A104 and/or the device B 106 of FIG. 1, the device 204 of FIG. 2, orcombinations thereof. For example, the host device may be implemented inthe device A 104 of FIG. 1 and the modular device may be implemented inthe device B 106 of FIG. 1.

The method 300 may include collecting motion data at the host device, at310. Collection of the motion data may be via the environmental datacollection system 110 and/or the environmental data collection system150 of FIG. 1, the accelerometer 212 of FIG. 2, or combinations thereof.In some examples, other data, such as location data (e.g., via a GPSreceiver such as the GPS receiver 216 of FIG. 2), audio data, (e.g., viaan audio input sensor such as the audio input sensor 218 of FIG. 2),temperature data (e.g., via temperature sensor such as the temperaturesensor 214 of FIG. 2), or other data (e.g., via a sensor such as theother input sensors 219 of FIG. 2), may be collected.

The method 300 may include filtering the motion data to provide motioninformation, at 320. Filtering of the motion data may be via the dataanalysis system 120 and/or the data analysis system 160 of FIG. 1, themotion data filter 222 of FIG. 2, or combinations thereof. In someexamples, filtering the motion data to provide motion information mayinclude removing anomalies from the motion data.

The method 300 may further include detecting anomalies in the motiondata to provide anomaly data, at 330. Detection of the anomaly data maybe via the data analysis system 120 and/or the data analysis system 160of FIG. 1, the motion data anomaly detector 224 of FIG. 2, orcombinations thereof.

The method 300 may further include determining whether the host deviceis proximate to the modular device based on a comparison between themotion information and received motion information from the modulardevice, at 340. Determination of whether the host device is proximate tothe modular device may be via the pairing system 130 and/or the pairingsystem 170 of FIG. 1, the proximity determination system 234 of FIG. 2,or combinations thereof. In some examples, the method 300 may furtherinclude comparing the motion information with the received motioninformation from the modular device to detect a matching pattern. Thematching pattern may include one of similar motion or reciprocal motion.In some examples, proximity may be further determined based oncomparisons of other environmental data, such as temperature, audio,location, etc., data.

The method 300 may further include generating the key based on acomparison between the anomaly data and received anomaly data from themodular device responsive to a determination that the modular device isproximate. In some examples, determination of whether the modular deviceis proximate is further based the location data, audio data, temperaturedata, or combinations thereof. Generation of the key may be implementedin the key generator 140 and/or the key generator 180 of FIG. 1, the keygenerator 240 of FIG. 2, or combinations thereof.

The method 300 may further include pairing with the modular deviceresponsive to a match between the key and a received key from themodular device, at 350. Pairing with the modulate device may be via thepairing system 130 and/or the pairing system 170 of FIG. 1, the pairingsystem 230 of FIG. 2, or combinations thereof. The match may bedetermined by comparing the key with the received key. In some examples,a match may be detected when the key matches the received key exactly.In other examples, a match may be detected when a threshold count ofdata points match between the key matches and the received key. Themethod 300 may further include blocking reception of communication themodular device responsive to failure to find a match between the key andthe received key from the modular device, in some examples. The methodmay further include blocking reception of communication the modulardevice responsive to failure to detect that the modular device isproximate based on a comparison between the motion information and thereceived motion information from the modular device.

In some examples, the method 300 may include providing the motioninformation and anomaly data to the modular device; and receiving thereceived motion information and the received anomaly data from themodular device. The modular device may determine proximity with the hostdevice based on the motion information and may generate the received keybased on the anomaly data.

FIG. 4 illustrates a flow diagram of a method 400 to initiate pairing oftwo devices based on collected environmental data in accordance withsome embodiments. The method 400 may be implemented in the device A 104and/or the device B 106 of FIG. 1, the device 204 of FIG. 2, orcombinations thereof.

The method 400 may include collecting environmental data, at 410.Collection of the environmental data may be via the environmental datacollection system 110 and/or the environmental data collection system150 of FIG. 1, the 250 of FIG. 2. For example, an accelerometer (e.g.,the accelerometer 212 of FIG. 2) may be used to collect motion data or aGPS receiver (e.g., the GPS receiver 216 of FIG. 2) may be use tocollect location data, or other sensors (e.g., the temperature sensor214 or the audio input sensor 218) may be used to collect otherenvironmental data.

The method 400 may include collecting motion information, locationinformation, and other information from the environmental, at 412, 414,and 416. For example, the motion information may be filtered from themotion data included in the environmental information.

The method 400 may further include determining whether enoughinformation exists to generate a key. For example, the method 400 mayinclude determining whether enough motion information is available todetect a pattern, at 413. For example, a particular amount of motiondata may be required to exceed a threshold to be considered or a patternmatch with another device's motion information may have to exceed athreshold to be considered. The method 400 may further includedetermining whether location information is available, at 415. In someexamples, generation of the key may be further dependent on whetherother trending data is available, such as temperature or audioinformation, at 417. The method 400 may include generating a key ifenough motion information is available to generate a pattern andlocation data is available, at 420. In some examples, generating the keymay be further based on whether other trending data is available, at417. Generation of the key may be implemented in the key generator 140and/or the key generator 180 of FIG. 1, the key generator 240 of FIG. 2,or combinations thereof. In some examples, the method 400 may furtherinclude detecting a pattern between the motion information and motioninformation for another computing device (e.g., device B) prior togenerating a key.

The method 400 may further include receiving a device key from device B(e.g., the device B 106 of FIG. 1), at 530. The method 400 may furtherinclude comparing the generated key with the received key, 440. Thecomparison of keys may be implemented in the pairing system 130 and/orthe pairing system 170 of FIG. 1, the key comparison module 232 of FIG.2, or combinations thereof. If the keys match, the method 400 mayfurther include pairing with device B, at 450. If the keys do not match,the method 400 may further include blocking reception of communicationfrom device B, at 460. As compared with open pairing, using motioninformation as a factor when determining whether to pair with anotherdevice may improve security without requiring input from a user.

FIG. 5 illustrates a flow diagram of a method 500 to determine whetherto generate a key based on comparison of motion data with another deviceprior to pairing of two devices based on collected environmental data inaccordance with some embodiments. The method 500 may be implemented inthe device A 104 and/or the device B 106 of FIG. 1, the device 204 ofFIG. 2, or combinations thereof.

The method 500 may include comparing motion threshold data 510 withmotion data 520. If a pattern is detected between the motion thresholddata 510 and the motion data 520, at 530, the method 500 may furthergenerating a key and comparing the key with a device B key, at 540. Themotion threshold data may be generated by data analysis system or amotion data filter, such as the data analysis system 120 and/or theenvironmental data collection system 150 of FIG. 1, the motion datafilter 222 of FIG. 2, or combinations thereof. The motion data may bereceived from device B via the pairing system 130 and/or the pairingsystem 170 of FIG. 1, the communication system 236 of FIG. 2, orcombinations thereof. The comparison of the motion threshold data 510with motion data 520 may be performed via the pairing system 130 and/orthe pairing system 170 of FIG. 1, the proximity determination system 234of FIG. 2, or combinations thereof. Generation of the key may beimplemented in the key generator 140 and/or the key generator 180 ofFIG. 1, the key generator 240 of FIG. 2, or combinations thereof. Thecomparison of keys may be implemented in the pairing system 130 and/orthe pairing system 170 of FIG. 1, the key comparison module 232 of FIG.2, or combinations thereof. The method 500 may further includegenerating a key based on anomaly data responsive to the motion datamatching the motion threshold data. In some examples, generating the keymay include retrieving anomaly data from motion information captured atdevice A. The generated key may be based on the anomaly data. In someexamples, retrieving anomaly data from motion information may includeidentifying (e.g., and tagging) samples of the motion information thatexceed a threshold. In some examples, the method 500 may further includereceiving a received key from device B, and comparing the received keywith the generated key. In some examples, the method 500 may furtherinclude pairing device A with device B responsive to the generated keymatching the received key.

FIG. 6 is a block diagram illustrating a machine in the example form ofa computer system 600, within which a set or sequence of instructionsmay be executed to cause the machine to perform any one of themethodologies discussed herein, according to an example embodiment. Inalternative embodiments, the machine operates as a standalone device ormay be connected (e.g., networked) to other machines. In a networkeddeployment, the machine may operate in the capacity of either a serveror a client machine in server-client network environments, or it may actas a peer machine in peer-to-peer (or distributed) network environments.The machine may be a personal computer (PC), a tablet PC, a hybridtablet, a server, or any machine capable of executing instructions(sequential or otherwise) that specify actions to be taken by thatmachine. Further, while only a single machine is illustrated, the term“machine” shall also be taken to include any collection of machines thatindividually or jointly execute a set (or multiple sets) of instructionsto perform any one or more of the methodologies discussed herein.Similarly, the term “processor-based system” shall be taken to includeany set of one or more machines that are controlled by or operated by aprocessor (e.g., a computer) to individually or jointly executeinstructions to perform any one or more of the methodologies discussedherein.

Example computer system 600 includes at least one processor unit 602(e.g., a central processing unit (CPU), a graphics processing unit (GPU)or both, processor cores, compute nodes, etc.), a main memory 604 and astatic memory 606, which communicate with each other via a link 608(e.g., bus). The computer system 600 may further include a video displayunit 610, an alphanumeric input device 612 (e.g., a keyboard), and auser interface (UI) navigation device 614 (e.g., a mouse). In oneembodiment, the video display unit 610, input device 612 and UInavigation device 614 are incorporated into a touch screen display. Thecomputer system 600 may additionally include a storage device 616 (e.g.,a drive unit), a signal generation device 618 (e.g., a speaker), anetwork interface device 620, and one or more sensors (not shown), suchas a global positioning system (GPS) sensor, compass, accelerometer,gyrometer, magnetometer, or other sensor.

The storage device 616 includes a machine-readable medium 622 on whichis stored one or more sets of data structures and instructions 624(e.g., software) embodying or utilized by any one or more of themethodologies or functions described herein. The instructions 624 mayalso reside, completely or at least partially, within the main memory604, static memory 606, and/or within the processor unit 602 duringexecution thereof by the computer system 600, with the main memory 604,static memory 606, and the processor unit 602 also constitutingmachine-readable media.

While the machine-readable medium 622 is illustrated in an exampleembodiment to be a single medium, the term “machine-readable medium” mayinclude a single medium or multiple media (e.g., a centralized ordistributed database, and/or associated caches and servers) that storethe one or more instructions 624. The term “machine-readable medium”shall also be taken to include any tangible medium that is capable ofstoring, encoding or carrying instructions for execution by the machineand that cause the machine to perform any one or more of themethodologies of the present disclosure or that is capable of storing,encoding or carrying data structures utilized by or associated with suchinstructions. The term “machine-readable medium” shall accordingly betaken to include, but not be limited to, solid-state memories, andoptical and magnetic media. Specific examples of machine-readable mediainclude non-volatile memory, including but not limited to, by way ofexample, semiconductor memory devices (e.g., electrically programmableread-only memory (EPROM), electrically erasable programmable read-onlymemory (EEPROM)) and flash memory devices; magnetic disks such asinternal hard disks and removable disks; magneto-optical disks; andCD-ROM and DVD-ROM disks.

The instructions 624 may further be transmitted or received over acommunications network 626 using a transmission medium via the networkinterface device 620 utilizing any one of a number of well-knowntransfer protocols (e.g., HTTP). Examples of communication networksinclude a local area network (LAN), a wide area network (WAN), theInternet, mobile telephone networks, plain old telephone (POTS)networks, and wireless data networks (e.g., Bluetooth, Wi-Fi, 3G, and 4GLTE/LTE-A or WiMAX networks). The term “transmission medium” shall betaken to include any intangible medium that is capable of storing,encoding, or carrying instructions for execution by the machine, andincludes digital or analog communications signals or other intangiblemedium to facilitate communication of such software.

Various illustrative components, blocks, configurations, modules, andsteps have been described above generally in terms of theirfunctionality. Skilled artisans may implement the describedfunctionality in varying ways for each particular application, but suchimplementation decisions should not be interpreted as causing adeparture from the scope of the present disclosure.

The previous description of the disclosed embodiments is provided toenable a person skilled in the art to make or use the disclosedembodiments. Various modifications to these embodiments will be readilyapparent to those skilled in the art, and the principles defined hereinmay be applied to other embodiments without departing from the scope ofthe disclosure. Thus, the present disclosure is not intended to belimited to the embodiments shown herein but is to be accorded the widestscope possible consistent with the principles and novel features aspreviously described.

Examples, as described herein, may include, or may operate on, logic ora number of components, modules, or mechanisms. Modules are tangibleentities (e.g., hardware) capable of performing specified operations andmay be configured or arranged in a certain manner. In an example,circuits may be arranged (e.g., internally or with respect to externalentities such as other circuits) in a specified manner as a module. Inan example, the software may reside on at least one machine-readablemedium.

The term “module” is understood to encompass a tangible entity, be thatan entity that is physically constructed, specifically configured (e.g.,hardwired), or temporarily (e.g., transitorily) configured (e.g.,programmed) to operate in a specified manner or to perform at least partof any operation described herein. Considering examples in which modulesare temporarily configured, a module need not be instantiated at any onemoment in time. For example, where the modules comprise ageneral-purpose hardware processor configured using software; thegeneral-purpose hardware processor may be configured as respectivedifferent modules at different times. Software may accordingly configurea hardware processor, for example, to constitute a particular module atone instance of time and to constitute a different module at a differentinstance of time. The terms “application, process, or service,” orvariants thereof, is used expansively herein to include routines,program modules, programs, components, and the like, and may beimplemented on various system configurations, including single-processoror multiprocessor systems, microprocessor-based electronics, single-coreor multi-core systems, combinations thereof, and the like. Thus, theterms “application, process, or service” may be used to refer to anembodiment of software or to hardware arranged to perform at least partof any operation described herein.

While a machine-readable medium may include a single medium, the term“machine-readable medium” may include a single medium or multiple media(e.g., a centralized or distributed database, and/or associated cachesand servers).

Additional Notes & Examples

Example 1 is a host device to pair with a modular device, the hostdevice comprising: an environmental data collection system to providemotion data; a data analysis circuit to filter the motion data toprovide motion information, the data analysis circuit further to detectanomalies in the motion data to provide anomaly data; a pairing systemto determine whether the host device is proximate to the modulate devicebased on a comparison of the motion information with received motioninformation from the modular device, wherein the pairing circuit isfurther to pair with the modular device responsive to a match between akey and a received key from the modular device; and a key generator togenerate the key based on a comparison between the anomaly data andreceived anomaly data from the modular device responsive to adetermination that the modular device is proximate.

In Example 2, the subject matter of Example 1 optionally includeswherein the environmental collection system includes an accelerometer tocollect motion data.

In Example 3, the subject matter of any one or more of Examples 1-2optionally include wherein the environmental collection system furtherincludes a global positioning receiver (GPS) to receive location data,wherein determination of whether the modular device is proximate isfurther based the location data.

In Example 4, the subject matter of any one or more of Examples 1-3optionally include wherein the data analysis circuit comprises a motiondata filter that filters the motion data to remove anomalies from themotion data to provide the motion information.

In Example 5, the subject matter of any one or more of Examples 1-4optionally include wherein the data analysis circuit comprises a motiondata anomaly detector configured to detect anomalies in the motion datato provide the anomaly data.

In Example 6, the subject matter of any one or more of Examples 1-5optionally include wherein the pairing system comprises a communicationsystem, wherein the communication system includes a transceiver toprovide the motion information and anomaly data to the modular device,where the transceiver further to the receive the received motioninformation and the received anomaly data received from the modulardevice.

In Example 7, the subject matter of any one or more of Examples 1-6optionally include wherein the pairing system comprises a key comparisonmodule to compare the key with the received key.

In Example 8, the subject matter of Example 7 optionally includeswherein the key comparison module detects a match when the key matchesthe received key exactly.

In Example 9, the subject matter of any one or more of Examples 7-8optionally include wherein the key comparison module detects a matchwhen a threshold count of data points match between the key matches andthe received key.

In Example 10, the subject matter of any one or more of Examples 1-9optionally include wherein the pairing system comprises a proximitydetermination system that determines proximity with the modular devicebased on a comparison of the motion information with the received motioninformation from the modular device.

In Example 11, the subject matter of Example 10 optionally includeswherein the proximity determination system compares the motioninformation with the received motion information from the modular deviceto detect a matching pattern.

In Example 12, the subject matter of Example 11 optionally includeswherein the matching pattern is one of similar motion or reciprocalmotion.

In Example 13, the subject matter of any one or more of Examples 1-12optionally include wherein the pairing circuit further to blockreception of communication the modular device responsive to failure tofind a match between the key and the received key from the modulardevice.

In Example 14, the subject matter of any one or more of Examples 1-13optionally include wherein the pairing circuit further to blockreception of communication from the modular device responsive to failureto detect that the modular device is proximate based on a comparisonbetween the motion information and the received motion information fromthe modular device.

In Example 15, the subject matter of any one or more of Examples 1-14optionally include wherein the environmental collection system furtherincludes temperature sensor to collect temperature data, wherein thepairing system to determine whether the host device is proximate to themodulate device is further based on a comparison of the temperature datawith received temperature data from the modular device.

In Example 16, the subject matter of any one or more of Examples 1-15optionally include wherein the environmental collection system furtherincludes an audio sensor to collect audio data, wherein the pairingsystem to determine whether the host device is proximate to the modulatedevice is further based on a comparison of the audio data with receivedaudio data from the modular device.

Example 17 is a method to pair a host device with a modular devicecomprising: collecting motion data at the host device; filtering themotion data to provide motion information; detecting anomalies in themotion data to provide anomaly data; determining whether the host deviceis proximate to the modular device based on a comparison between themotion information and received motion information from the modulardevice; and pairing with the modular device responsive to a matchbetween a key and a received key from the modular device, wherein thekey is generated based on the anomaly data.

In Example 18, the subject matter of Example 17 optionally includesgenerating the key based on a comparison between the anomaly data andreceived anomaly data from the modular device responsive to adetermination that the modular device is proximate.

In Example 19, the subject matter of any one or more of Examples 17-18optionally include collecting location data, wherein determination ofwhether the modular device is proximate is further based the locationdata.

In Example 20, the subject matter of any one or more of Examples 17-19optionally include wherein filtering the motion data to provide motioninformation comprises removing anomalies from the motion data.

In Example 21, the subject matter of any one or more of Examples 17-20optionally include providing the motion information and anomaly data tothe modular device; and receiving the received motion information andthe received anomaly data from the modular device.

In Example 22, the subject matter of any one or more of Examples 17-21optionally include comparing the key with the received key.

In Example 23, the subject matter of Example 22 optionally includesdetecting a match when the key matches the received key exactly.

In Example 24, the subject matter of any one or more of Examples 22-23optionally include detecting a match when a threshold count of datapoints match between the key matches and the received key.

In Example 25, the subject matter of any one or more of Examples 17-24optionally include comparing the motion information with the receivedmotion information from the modular device to detect a matching pattern.

In Example 26, the subject matter of Example 25 optionally includeswherein the matching pattern is one of similar motion or reciprocalmotion.

In Example 27, the subject matter of any one or more of Examples 17-26optionally include blocking reception of communication the modulardevice responsive to failure to find a match between the key and thereceived key from the modular device.

In Example 28, the subject matter of any one or more of Examples 17-27optionally include blocking reception of communication the modulardevice responsive to failure to detect that the modular device isproximate based on a comparison between the motion information and thereceived motion information from the modular device.

In Example 29, the subject matter of any one or more of Examples 17-28optionally include collecting temperature data; and determining whetherthe host device is proximate the modulate device further based on acomparison of the temperature data with received temperature data fromthe modular device.

In Example 30, the subject matter of any one or more of Examples 17-29optionally include collecting audio data; and determining whether thehost device is proximate the modulate device further based on acomparison of the audio data with received audio data from the modulardevice.

Example 31 is at least one medium including instructions that, whenexecuted on a machine cause the machine to perform any of the methods ofExamples 17-30.

Example 32 is an apparatus comprising means for performing any of themethods of Examples 17-30.

Example 33 is a method to pair a host device with a modular devicecomprising: generating motion threshold data from motion information atthe host device, receiving motion data from the modular device;comparing the motion threshold data to the motion data; generating agenerated key based on anomaly data responsive to the motion datamatching the motion threshold data.

In Example 34, the subject matter of Example 33 optionally includesreceiving a received key from the modular device; and comparing thereceived key with the generated key.

In Example 35, the subject matter of Example 34 optionally includespairing the host device with the modular device responsive to thegenerated key matching the received key.

In Example 36, the subject matter of any one or more of Examples 33-35optionally include wherein generating a generated key based on anomalydata responsive to the motion data matching the motion threshold datacomprises retrieving anomaly data from motion information, wherein thegenerated key is based on the anomaly data.

In Example 37, the subject matter of any one or more of Examples 33-36optionally include wherein retrieving anomaly data from motioninformation comprises identifying samples of the motion information thatexceed a threshold.

Example 38 is at least one medium including instructions that, whenexecuted on a machine cause the machine to perform any of the methods ofExamples 33-37.

Example 39 is an apparatus comprising means for performing any of themethods of Examples 33-37.

Example 40 is a host device to pair with a modular device, the hostdevice comprising: means for collecting motion data at the host device;means for filtering the motion data to provide motion information; meansfor detecting anomalies in the motion data to provide anomaly data;means for determining whether the host device is proximate to themodular device based on a comparison between the motion information andreceived motion information from the modular device; and means forpairing with the modular device responsive to a match between a key anda received key from the modular device, wherein the key is generatedbased on the anomaly data.

In Example 41, the subject matter of Example 40 optionally includesmeans for generating the key based on a comparison between the anomalydata and received anomaly data from the modular device responsive to adetermination that the modular device is proximate.

In Example 42, the subject matter of any one or more of Examples 40-41optionally include means for collecting location data, whereindetermination of whether the modular device is proximate is furtherbased the location data.

In Example 43, the subject matter of any one or more of Examples 40-42optionally include wherein the means for filtering the motion data toprovide motion information comprises means for removing anomalies fromthe motion data.

In Example 44, the subject matter of any one or more of Examples 40-43optionally include means for providing the motion information andanomaly data to the modular device; and means for receiving the receivedmotion information and the received anomaly data from the modulardevice.

In Example 45, the subject matter of any one or more of Examples 40-44optionally include means for comparing the key with the received key.

In Example 46, the subject matter of Example 45 optionally includesmeans for detecting a match when the key matches the received keyexactly.

In Example 47, the subject matter of any one or more of Examples 45-46optionally include means for detecting a match when a threshold count ofdata points match between the key matches and the received key.

In Example 48, the subject matter of any one or more of Examples 40-47optionally include means for comparing the motion information with thereceived motion information from the modular device to detect a matchingpattern.

In Example 49, the subject matter of Example 48 optionally includeswherein the means for matching pattern is one of similar motion orreciprocal motion.

In Example 50, the subject matter of any one or more of Examples 40-49optionally include means for blocking reception of communication themodular device responsive to failure to find a match between the key andthe received key from the modular device.

In Example 51, the subject matter of any one or more of Examples 40-50optionally include means for blocking reception of communication themodular device responsive to failure to detect that the modular deviceis proximate based on a comparison between the motion information andthe received motion information from the modular device.

In Example 52, the subject matter of any one or more of Examples 40-51optionally include means for collecting temperature data; and means fordetermining whether the host device is proximate the modulate devicefurther based on a comparison of the temperature data with receivedtemperature data from the modular device.

In Example 53, the subject matter of any one or more of Examples 40-52optionally include means for collecting audio data; and means fordetermining whether the host device is proximate the modulate devicefurther based on a comparison of the audio data with received audio datafrom the modular device.

Example 54 is a host device to pair with a modular device, the hostdevice comprising: means for generating motion threshold data frommotion information at the host device, means for receiving motion datafrom the modular device; means for comparing the motion threshold datato the motion data; means for generating a generated key based onanomaly data responsive to the motion data matching the motion thresholddata.

In Example 55, the subject matter of Example 54 optionally includesmeans for receiving a received key from the modular device; and meansfor comparing the received key with the generated key.

In Example 56, the subject matter of Example 55 optionally includesmeans for pairing the host device with the modular device responsive tothe generated key matching the received key.

In Example 57, the subject matter of any one or more of Examples 54-56optionally include wherein means for generating a generated key based onanomaly data responsive to the motion data matching the motion thresholddata comprises means for retrieving anomaly data from motioninformation, wherein the generated key is based on the anomaly data.

In Example 58, the subject matter of any one or more of Examples 54-57optionally include wherein means for retrieving anomaly data from motioninformation comprises means for identifying samples of the motioninformation that exceed a threshold.

The above detailed description includes references to the accompanyingdrawings, which form a part of the detailed description. The drawingsshow, by way of illustration, specific embodiments that may bepracticed. These embodiments are also referred to herein as “examples.”Such examples may include elements in addition to those shown ordescribed. However, also contemplated are examples that include theelements shown or described. Moreover, also contemplate are examplesusing any combination or permutation of those elements shown ordescribed (or one or more aspects thereof), either with respect to aparticular example (or one or more aspects thereof), or with respect toother examples (or one or more aspects thereof) shown or describedherein.

Publications, patents, and patent documents referred to in this documentare incorporated by reference herein in their entirety, as thoughindividually incorporated by reference. In the event of inconsistentusages between this document and those documents so incorporated byreference, the usage in the incorporated reference(s) are supplementaryto that of this document; for irreconcilable inconsistencies, the usagein this document controls.

In this document, the terms “a” or “an” are used, as is common in patentdocuments, to include one or more than one, independent of any otherinstances or usages of “at least one” or “one or more.” In thisdocument, the term “or” is used to refer to a nonexclusive or, such that“A or B” includes “A but not B,” “B but not A,” and “A and B,” unlessotherwise indicated. In the appended claims, the terms “including” and“in which” are used as the plain-English equivalents of the respectiveterms “comprising” and “wherein.” Also, in the following claims, theterms “including” and “comprising” are open-ended, that is, a system,device, article, or process that includes elements in addition to thoselisted after such a term in a claim are still deemed to fall within thescope of that claim. Moreover, in the following claims, the terms“first,” “second,” and “third,” etc. are used merely as labels, and arenot intended to suggest a numerical order for their objects.

The above description is intended to be illustrative, and notrestrictive. For example, the above-described examples (or one or moreaspects thereof) may be used in combination with others. Otherembodiments may be used, such as by one of ordinary skill in the artupon reviewing the above description. The Abstract is to allow thereader to quickly ascertain the nature of the technical disclosure andis submitted with the understanding that it will not be used tointerpret or limit the scope or meaning of the claims. Also, in theabove Detailed Description, various features may be grouped together tostreamline the disclosure. However, the claims may not set forthfeatures disclosed herein because embodiments may include a subset ofsaid features. Further, embodiments may include fewer features thanthose disclosed in a particular example. Thus, the following claims arehereby incorporated into the Detailed Description, with a claim standingon its own as a separate embodiment. The scope of the embodimentsdisclosed herein is to be determined with reference to the appendedclaims, along with the full scope of equivalents to which such claimsare entitled.

What is claimed is:
 1. A host device to pair with a modular device, thehost device comprising: an environmental data collection system toprovide motion data; a data analysis circuit to filter the motion datato provide motion information, the data analysis circuit further todetect anomalies in the motion data to provide anomaly data; a pairingcircuit to determine whether the host device is proximate to the modulardevice based on a comparison of the motion information with receivedmotion information from the modular device, the pairing circuit furtherto pair with the modular device responsive to a match between a key anda received key from the modular device, and the pairing circuit to blockreception of communication from the modular device responsive to afailure to find a match between the key and the received key from themodular device; and a key generator to generate the key based on acomparison between the anomaly data and received anomaly data from themodular device responsive to a determination that the modular device isproximate.
 2. The host device of claim 1, wherein the environmentalcollection system includes an accelerometer to collect motion data. 3.The host device of claim 1, wherein the environmental collection systemfurther includes a global positioning receiver (GPS) to receive locationdata, wherein determination of whether the modular device is proximateis further based the location data.
 4. The host device of claim 1,wherein the data analysis circuit comprises a motion data filter thatfilters the motion data to remove anomalies from the motion data toprovide the motion information.
 5. The host device of claim 1, whereinthe data analysis circuit comprises a motion data anomaly detectorconfigured to detect anomalies in the motion data to provide the anomalydata.
 6. The host device of claim 1, wherein the pairing systemcomprises a communication system, wherein the communication systemincludes a transceiver to provide the motion information and anomalydata to the modular device, where the transceiver further to the receivethe received motion information and the received anomaly data receivedfrom the modular device.
 7. The host device of claim 1, wherein thepairing system comprises a key comparison module to compare the key withthe received key.
 8. The host device of claim 7, wherein the keycomparison module detects a match when a threshold count of data pointsmatch between the key matches and the received key.
 9. The host deviceof claim 1, wherein the pairing system comprises a proximitydetermination system that determines proximity with the modular devicebased on a comparison of the motion information with the received motioninformation from the modular device.
 10. The host device of claim 9,wherein the proximity determination system compares the motioninformation with the received motion information from the modular deviceto detect a matching pattern.
 11. The host device of claim 1, whereinthe pairing circuit further to block reception of communication from themodular device responsive to a failure to detect that the modular deviceis proximate based on a comparison between the motion information andthe received motion information from the modular device.
 12. At leastone non-transitory machine-readable medium storing instructions that,when executed on a machine cause the machine to perform operationsincluding: collecting motion data at the host device; filtering themotion data to provide motion information; detecting anomalies in themotion data to provide anomaly data; determining whether the host deviceis proximate to the modular device based on a comparison between themotion information and received motion information from the modulardevice; pairing with the modular device responsive to a match between akey and a received key from the modular device, wherein the key isgenerated based on the anomaly data; and blocking reception ofcommunication from the modular device responsive to a failure to find amatch between the key and the received key from the modular device. 13.The non-transitory machine-readable medium of claim 12, further storinginstructions that, when executed on the machine, cause the machine toperform operations including generating the key based on a comparisonbetween the anomaly data and received anomaly data from the modulardevice responsive to a determination that the modular device isproximate.
 14. The non-transitory machine-readable medium of claim 12,wherein filtering the motion data to provide motion information includesinstructions that, when executed on the machine, cause the machine toperform operations including removing anomalies from the motion data.15. The non-transitory machine-readable medium of claim 12, furtherstoring instructions that, when executed on the machine, cause themachine to perform operations including: providing the motioninformation and anomaly data to the modular device; and receiving thereceived motion information and the received anomaly data from themodular device.
 16. The non-transitory machine-readable medium of claim12, further storing instructions that, when executed on the machine,cause the machine to perform operations including comparing the key withthe received key.
 17. The non-transitory machine-readable medium ofclaim 16, further storing instructions that, when executed on themachine, cause the machine to perform operations including detecting amatch when a threshold count of data points match between the keymatches and the received key.
 18. The non-transitory machine-readablemedium of claim 12, further storing instructions that, when executed onthe machine, cause the machine to perform operations including comparingthe motion information with the received motion information from themodular device to detect a matching pattern.
 19. A method to pair a hostdevice with a modular device comprising: generating motion thresholddata from motion information at the host device; receiving motion datafrom the modular device; comparing the motion threshold data to themotion data; receiving a received key from the modular device; comparingthe received key with the generated key; blocking reception ofcommunication from the modular device responsive to a failure to find amatch between the key and the received key from the modular device; andgenerating a generated key based on anomaly data responsive to themotion data matching the motion threshold data.
 20. The method of claim19, further comprising pairing the host device with the modular deviceresponsive to the generated key matching the received key.
 21. Themethod of claim 19, wherein generating a generated key based on anomalydata responsive to the motion data matching the motion threshold datacomprises retrieving anomaly data from motion information, wherein thegenerated key is based on the anomaly data.
 22. The method of claim 19,wherein retrieving anomaly data from motion information comprisesidentifying samples of the motion information that exceed a threshold.